﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace NIEN_LUAN
{
    public partial class FormLapPhieuChi : Form
    {
        private Db.DataContentDataContext db = new NIEN_LUAN.Db.DataContentDataContext();
        public FormLapPhieuChi()
        {
            InitializeComponent();
        }

        private void FormLapPhieuChi_Load(object sender, EventArgs e)
        {
            this.dataGridView1.AutoGenerateColumns = false;
            var phieuchiconno = (from m in db.PHIEUNHAPs
                                 where (m.TongTien > m.TienDaTra)
                                 select new Db.PhieuChiMoRong {
                                 ConNo=m.TongTien-m.TienDaTra??0,
                                 NgayNhap=m.NgayLap??DateTime.Now,
                                 SoPhieuNhap=m.SoPhieuNhap,
                                 SoTienNhap=m.TongTien??0,
                                 SoTienTra=m.TienDaTra??0,
                                 TenNhanVien=m.NHANVIEN.TenNhanVien
                                 }).ToList();
            this.bsPhieuChi.DataSource = phieuchiconno;
            this.dataGridView1.DataSource = bsPhieuChi;
        }

        private void bsPhieuChi_CurrentChanged(object sender, EventArgs e)
        {
            var phieuchi = this.bsPhieuChi.Current as Db.PhieuChiMoRong;
            if (phieuchi != null)
            {
                this.lbSoPhieuNhap.Text = phieuchi.SoPhieuNhap;
                this.lbSoTienNhap.Text = phieuchi.SoTienNhap.ToString();
                this.lbTenNhanVien.Text = phieuchi.TenNhanVien;
                return;
            }
            this.lbSoPhieuNhap.Text = "Chưa biết";
            this.lbSoTienNhap.Text = "Chưa biết";
            this.lbTenNhanVien.Text = "Chưa biết";
            return;
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtSoPhieuChi.Text))
            {
                MessageBox.Show("Chưa nhập số phiếu chi");
                return;
            }
            if (this.txtSoTienTra.Value <= 0)
            {
                MessageBox.Show("Không thể trả tiền <=0");
            }
            var phieuthu = this.bsPhieuChi.Current as Db.PhieuChiMoRong;
            if (phieuthu == null)
            {
                MessageBox.Show("Chưa chọn chi cho phiếu nhập nào");
                return;
            }
            if (this.txtSoTienTra.Value > phieuthu.ConNo)
            {
                MessageBox.Show("Không thể trả số tiền lớn hơn số tiền đã nợ");
                return;
            }

            var phieuchinew = new Db.PHIEUCHI { 
            MaNhanVien=global.MaNhanVienDangNhap,
            NgayLap=this.txtNgayLap.Value,
            SoPhieuChi=this.txtSoPhieuChi.Text,
            SoPhieuNhap=phieuthu.SoPhieuNhap,
            SoTien=this.txtSoTienTra.Value
           
            };
            db.PHIEUCHIs.InsertOnSubmit(phieuchinew);
            var phieuthus = db.PHIEUNHAPs.Single(m => m.SoPhieuNhap == phieuthu.SoPhieuNhap);
            phieuthus.TienDaTra = phieuthus.TienDaTra + this.txtSoTienTra.Value;
            db.SubmitChanges();
            MessageBox.Show("Viết phiếu chi thành công!");
            this.Close();
           // return;



        }

        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            var phieunhap = this.bsPhieuChi.Current as Db.PhieuChiMoRong;
            if (phieunhap != null)
            {
                FormChiTietPhieuChi frm = new FormChiTietPhieuChi(phieunhap);
                frm.ShowDialog();
            }
            else
            {
                MessageBox.Show("Chưa chọn phiếu nhập");
            }
        }

        //private void groupBox3_Enter(object sender, EventArgs e)
        //{

        //}
    }
}
